3 research outputs found

    Derivation of Change Sequences from State-Based File Differences for Delta-Based Model Consistency

    Get PDF
    In der sichtenbasierten Software-Entwicklung ist es möglich, dass mehrere Sichten das gleiche Konzept abbilden, wodurch Sichten redundante oder abhängige Informationen darstellen können. Es ist essenziell, diese individuellen Sichten synchron zu halten, um Inkonsistenzen im System zu vermeiden. In Ansätzen mit einem Single Underlying Model (SUM) werden Inkonsistenzen vermieden, indem das SUM als zentrale und einzige Informationsquelle genutzt wird, von welcher Sichten projiziert werden. Um Sichten mit dem SUM zu synchronisieren, wird in den meisten Fällen eine deltabasierte Konsistenzhaltung verwendet. Diese nutzt feingranulare Änderungssequenzen, welche von den einzelnen Sichten bereitgestellt werden müssen, um das SUM inkrementell zu aktualisieren. In realen Anwendungsfällen ist die Funktionalität zur Bereitstellung dieser Änderungssequenzen jedoch selten verfügbar. Stattdessen werden nur zustandsbasierte Änderungen persistiert. Es ist insofern wünschenswert Sichten, welche nur zustandsbasierte Änderungen bereitstellen, in deltabasierter Konsistenzhaltung zu unterstützen. Dies kann erreicht werden, indem die feingranularen Änderungssequenzen von den zustandsbasierten Änderungen abgeleitet werden. In dieser Arbeit wird die Qualität von abgeleiteten Änderungssequenzen im Kontext von Modellkonsistenzhaltung evaluiert. Um eine solche Sequenz abzuleiten, müssen übereinstimmende Elemente aus den verglichenen Modellen identifiziert und deren Unterschiede bestimmt werden. Um übereinstimmenden Elemente zu identifizieren, nutzen wir zwei Strategien. Bei der einen Strategie werden übereinstimmende Elemente anhand ihres eindeutigen Bezeichners erkannt. Bei der anderen Strategie wird eine Ähnlichkeitsmetrik basierend auf den Eigenschaften der Elemente genutzt. Als Evaluationsgrundlage werden verschiedene Testszenarien erstellt. Für jeden Test wird eine initiale und eine geänderte Version von sowohl einem UML-Klassendiagramm als auch Java-Code bereitgestellt. Wir nutzen die verschiedenen Strategien, um Änderungssequenzen basierend auf den zustandsbasierten Änderungen der UML-Sicht abzuleiten, geben diese an das SUM weiter und untersuchen die Ergebnisse in beiden Domänen. Die Ergebnisse zeigen, dass die Strategie, welche eindeutige Bezeichner nutzt, in fast allen betrachteten Fällen (97 %) die korrekte Änderungssequenz liefert. Bei der Nutzung der ähnlichkeitsbasierten Strategie können wir zwei wiederkehrende Fehlermuster identifizieren. Bezüglich dieser Probleme stellen wir eine erweiterte ähnlichkeitsbasierte Strategie vor, welche in der Lage ist, die Auftrittshäufigkeit der Fehlermuster zu reduzieren ohne die Ausführungsgeschwindigkeit signifikant zu beeinflussen

    Evaluating Model Differencing for the Consistency Preservation of State-based Views

    Get PDF
    While developers and users of modern software systems usually only need to interact with a specific part of the system at a time, they are hindered by the ever-increasing complexity of the entire system. Views are projections of underlying models and can be employed to abstract from that complexity. When a view is modified, the changes must be propagated back into the underlying model without overriding simultaneous modifications. Hence, the view needs to provide a fine-grained sequence of changes to update the model minimally invasively. Such fine-grained changes are often unavailable for views that integrate with existing workflows and tools. To this end, model differencing approaches can be leveraged to compare two states of a view and derive an estimated change sequence. However, these model differencing approaches are not intended to operate with views, as their correctness is judged solely by comparing the input models. For views, the changes are derived from the view states, but the correctness depends on the underlying model. This work introduces a refined notion of correctness for change sequences in the context of model-view consistency. Furthermore, we evaluate state-of-the-art model differencing regarding model-view consistency. Our results show that model differencing largely performs very well. However, incorrect change sequences were derived for two common refactoring operation types, leading to an incorrect model state. These types can be easily reproduced and are likely to occur in practice. By considering our change sequence properties in the view type design, incorrect change sequences can be detected and semi-automatically repaired to prevent such incorrect model states

    Token-based plagiarism detection for metamodels

    Get PDF
    Plagiarism is a widespread problem in computer science education. Manual inspection is impractical for large courses, and the risk of detection is thus low. Many plagiarism detectors are available for programming assignments. However, very few approaches are available for modeling assignments. To remedy this, we introduce token-based plagiarism detection for metamodels. To this end, we extend the widely-used software plagiarism detector JPlag. We evaluate our approach with real-world modeling assignments and generated plagiarisms based on obfuscation attack classes. The results show that our approach outperforms the state-of-the-art
    corecore